package com.shujia.process_contr.eight;

import org.junit.Test;

import java.util.Scanner;

/*
for循环使用场景:有明确的次数
while, do while 场景: 没有明确的次数
while:我们不知道代码要循环多少次, 先判断是否符合要求, 条件判断返回true
就循环, 返回false 就跳过循环代码
do while: 我们不知道代码要循环多少次, 先执行一次, 然后在判断是否符合要求,
即使初始化的变量在第一次条件判断就返回false, 也会执行一次循环体
 */
public class LoopExer1 {

    @Test
    public void test1() {
        int num = (int) (Math.random() * 100 + 1);
        Scanner sc = new Scanner(System.in);

        // 定义变量
        int guessNum;

        System.out.print("请输入一个整数:");
        guessNum = sc.nextInt();

        while (guessNum != num) {
            if (guessNum < num) {
                System.out.println("猜小了");
            } else if (guessNum > num) {
                System.out.println("猜大了");
            }

            // 第二次往后的输入
            System.out.print("请输入一个整数:");
            guessNum = sc.nextInt();
        }

        // if可以不写, while循环执行完毕, guessNum和num一定是相等的
//        if (guessNum == num) {
//            System.out.println("猜中了");
//        }

        System.out.println("猜中了");


    }

    public static void main(String[] args) {
        /*
        猜数字小游戏，生产一个1-100的随机数，键盘输入一个整数来猜这个数字，
        猜大了、猜小了都给出对应的提示，猜中了给出提示并跳出循环。
         */
        // 即使是猜中了,也许比较才知道
        int num = (int) (Math.random() * 100 + 1);
        Scanner sc = new Scanner(System.in);

        // 定义变量
        int guessNum;
        do {
            System.out.print("请输入一个整数:");
            guessNum = sc.nextInt();
            if (guessNum < num) {
                System.out.println("猜小了");
            } else if (guessNum > num) {
                System.out.println("猜大了");
            } else {
                System.out.println("猜中了");
            }
        } while (guessNum != num);

    }
}
